<?php
namespace Api\Controller;
use Think\Controller;
class SearchController extends BaseController {


  public function search()
  {
      //        根据关键字搜索
      //        使用sphinx搜索
      //require_once './sphinxapi.php';
      //$keyWord= I("keyWord");
      $keyWord= I("keyWord");
      $pageNo= I("pageNo");
      $pageSize= I("pageSize");
      import('ORG.Util.Page');// 导入分页类
      import("Vendor.sphinxapi");
      $s=new \SphinxClient();
      $s->setServer("10.10.61.150", 9312);
      // 作为数组返回
      $s->SetArrayResult(true);
      // 匹配格式  任意匹配
      $s->setMatchMode(SPH_MATCH_ANY);
      $s->setMaxQueryTime(3);
      // $keyWord表示接收用户传过来的数据
      $result = $s->query($keyWord,'*');

      // 避免没有匹配记录时报错
      if(empty($result['matches'])) {
          return null;
      }

      $result = $result['matches'];
      // 返回数组中指定的id列, 返回结果为单列数组
      $result = array_column($result, 'id');

      $where['p.page_id'] = array('in',implode(',',$result));

      $count = D('Page')->alias('p')
          ->where($where)
          ->count();

      $items = D('Page')->alias('p')
          ->join("left join item i on p.item_id=i.item_id")
      ->field('p.page_id,i.item_name,i.item_description, p.author_uid,p.item_id ,p.author_username,p.page_title,p.page_content,p.addtime')
      ->where($where)
      ->limit($pageSize)
      ->page($pageNo)
      ->select();

      $items = $items ? $items : array();
      $this->sendResultPage($items,$count,$pageNo);
      //$this->ajaxReturn($items);

//      $result['error_code'] = 0 ;
//      $result['data'] = $items ;
//      echo json_encode($result);
  }
}